from django.core.mail import send_mail
from django.conf import settings

from celery_tasks.main import celery_app


@celery_app.task(bind=True, name='send_verify_email', retry_backoff=3)
def send_verify_email(self, to_mail, verify_url):
    subject = '美多商城邮箱验证'
    message = ''
    from_email = settings.EMAIL_FROM
    html_message = '<p>尊敬的用户您好！</p>' \
                '<p>欢迎您使用美多商城。</p>' \
                '<p> 您的邮箱为：%s 。有效期10分钟，请点击此链接激活您的邮箱:</p>' \
                '<p>(若非本人操作，请忽略。)</p>' \
                '<p><a href="%s">%s</a></p>' % (to_mail, verify_url, verify_url)

    try:
        send_mail(subject, message, from_email, [to_mail], html_message=html_message)
    except Exception as e:
        raise self.retry(exc=e, max_retries=3)
